package com.hoshiicloud.purchase.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author zhangshuhu
 * @since 2019-06-03
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "PoDTO对象", description = "")
public class PoDTO implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 公司ID
     */
    @ApiModelProperty(value = "公司ID")
    private Long companyid;
    /**
     * 平台ID
     */
    @ApiModelProperty(value = "平台ID")
    private Long platformid;
    /**
     * 店铺ID
     */
    @ApiModelProperty(value = "店铺ID")
    private Long storeid;
    /**
     * 订单类型,1-租户采购 2-租户供应商 3-平台采购 4-平台供应商 5-店铺采购 6-店铺供应商
     */
    @ApiModelProperty(value = "订单类型,1-租户采购 2-租户供应商 3-平台采购 4-平台供应商 5-店铺采购 6-店铺供应商")
    private Integer source;
    /**
     * 1-预采单 2-实采单  3-补采单 9-销售单
     */
    @ApiModelProperty(value = "1-预采单 2-实采单  3-补采单 9-销售单")
    private Integer type;
    /**
     * 采购单编号
     */
    @ApiModelProperty(value = "采购单编号")
    private String poNo;
    /**
     * 采购单日期
     */
    @ApiModelProperty(value = "采购单日期")
    private LocalDateTime poDate;
    /**
     * 供应商id
     */
    @ApiModelProperty(value = "供应商id")
    private Long vendorId;
    /**
     * 供应商仓库
     */
    @ApiModelProperty(value = "供应商仓库")
    private Long vendorWhid;
    /**
     * 平台仓库
     */
    @ApiModelProperty(value = "平台仓库")
    private Long platformWhid;
    /**
     * 店铺仓库
     */
    @ApiModelProperty(value = "店铺仓库")
    private Long storeWhid;
    /**
     * 订单金额
     */
    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderAmount;
    /**
     * 商品件数
     */
    @ApiModelProperty(value = "商品件数")
    private Long orderCount;
    /**
     * 收货人id
     */
    @ApiModelProperty(value = "收货人id")
    private Long memberid;
    /**
     * 收货地址
     */
    @ApiModelProperty(value = "收货地址")
    private String address;
    /**
     * 收货人的姓名
     */
    @ApiModelProperty(value = "收货人的姓名")
    private String consignee;
    /**
     * 收货人的国家region
     */
    @ApiModelProperty(value = "收货人的国家region")
    private Integer country;
    /**
     * 收货人的省份
     */
    @ApiModelProperty(value = "收货人的省份")
    private Integer province;
    /**
     * 收货人的城市
     */
    @ApiModelProperty(value = "收货人的城市")
    private Integer city;
    /**
     * 收货人的地区
     */
    @ApiModelProperty(value = "收货人的地区")
    private Integer district;
    /**
     * 收货人的邮编
     */
    @ApiModelProperty(value = "收货人的邮编")
    private String zipcode;
    /**
     * 收货人的电话
     */
    @ApiModelProperty(value = "收货人的电话")
    private String telphone;
    /**
     * 收货人的手机
     */
    @ApiModelProperty(value = "收货人的手机")
    private String mobile;
    /**
     * 收货人的邮箱
     */
    @ApiModelProperty(value = "收货人的邮箱")
    private String email;
    /**
     * 交货日期
     */
    @ApiModelProperty(value = "交货日期")
    private LocalDateTime deliveryDate;
    /**
     * 订单状态  0-初始下单 2-已确认 3-执行中 4-已完成 5-已作废
     */
    @ApiModelProperty(value = "订单状态  0-初始下单 2-已确认 3-执行中 4-已完成 5-已作废")
    private Integer status;
    /**
     * 结算状态  1-已结算  0-未结算
     */
    @ApiModelProperty(value = "结算状态  1-已结算  0-未结算")
    private Integer settleStatus;
    /**
     * 结算金额
     */
    @ApiModelProperty(value = "结算金额")
    private BigDecimal settleAmount;
    /**
     * 制单人
     */
    @ApiModelProperty(value = "制单人")
    private String createdby;
    /**
     * 制单时间
     */
    @ApiModelProperty(value = "制单时间")
    private LocalDateTime createdtime;
}
